Load packages
suppressWarnings(suppressMessages({
library(tidyverse,quietly=T)
library(Seurat,quietly=T)
library(patchwork,quietly=T)
library(viridis,quietly=T)
library(scales,quietly=T)
library(treemap,quietly=T)
library(ggplot2,quietly=T)
library(ggpubr,quietly = T)
library(Rmagic, quietly = T)
library(reticulate, quietly=T)
library(magrittr, quietly=T)
library(imager, quietly=T)
library(EBImage, quietly=T)
library(STutility, quietly=T)
library(magrittr, quietly=T)
library(dplyr, quietly=T)
library(DT, quietly=T)
library(kableExtra, quietly=T)
}))
P12_Neurons=readRDS("P12_Neurons/P12_Neurons.rds")
A
Fig6A: UMAP plot with identity of GLU (deep red gradient) and GABA (deep blue gradient) TAPs/NBs subclusters at P12.
DimPlot(P12_Neurons,pt.size = 2, label = F, cols = c("#5A0017","#800021","#B76E78","#e4c1c6","#001277","#0c409f","#3074c7","#70a1dc"))
B
Fig6B: Integration of current P12 dataset with previously published dataset of postnatally born olfactory bulb neurons (GSE134918, gray).
Mizrak2020_CLB=readRDS("Mizrak2020_Marcy/Mizrak2020_Marcy.rds")
Mizrak2020_CLB <- RenameIdents(Mizrak2020_CLB, '5' = 'GLU1', '3' = 'GLU2', '7' = 'GLU3','4' = 'GABA1','0' = 'GABA2','2' = 'GABA3','1' = 'GABA4' )
p=DimPlot(Mizrak2020_CLB, pt.size = 2, cols = c("#5A0017","#800021","#B76E78","#001277","#0c409f","#3074c7","#70a1dc","#e4c1c6","#dedede","#dedede","#dedede","#dedede","#dedede"),label=F)
LabelClusters(p,id="ident",fontface="bold")+NoLegend()
C
Fig6C: Feature plot indicating cycle phase, S.Score and G2M.Score of GLU and GABA cells.
DimPlot(P12_Neurons,pt.size = 2, label = F, group.by = "Phase",cols = c("#dad6cd","#a3b28a","#588157"))
D
Fig6D: Representation of overall gene count per feature as revealed by Visium spatial transcriptomics within the SVZ at corresponding timepoints.
SVZ.Visium = readRDS("SVZ.Visium/SVZ.Visium.rds")
SVZ.Visium <- suppressMessages(suppressMessages(SVZ.Visium %>%
SCTransform(verbose = F) %>%
RunPCA(verbose=F) %>%
RunUMAP(reduction = "pca", dims = 1:20,verbose = F)))
## Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
## To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
## This message will be shown once per session
Idents(SVZ.Visium)="labels"
SVZ.Visium <- RenameIdents(SVZ.Visium,"svze18"="E17.5","svzp2"="P2","svzp12"="P12","svzp22"="P22")
SVZ.Visium$labels <- Idents(SVZ.Visium)
SVZ.Visium@meta.data[["labels"]]=as.character(SVZ.Visium@meta.data[["labels"]])
FeatureOverlay(SVZ.Visium, features = "Dlx2",
sampleids = 2:4,
cols = c("light grey", "mistyrose", "darkred"),
pt.size = 3,
add.alpha = TRUE,
ncol = 3, show.sb = FALSE,
pt.alpha = 0.1,label.by = "labels")
FeatureOverlay(SVZ.Visium, features = "Dlx1",
sampleids = 2:4,
cols = c("light grey", "mistyrose", "darkred"),
pt.size = 3,
add.alpha = TRUE,
ncol = 3, show.sb = FALSE,
pt.alpha = 0.1,label.by = "labels")
FeatureOverlay(SVZ.Visium, features = "Neurog2",
sampleids = 2:4,
cols = c("light grey", "mistyrose", "darkred"),
pt.size = 3,
add.alpha = TRUE,
ncol = 3, show.sb = FALSE,
pt.alpha = 0.1,label.by = "labels")
FeatureOverlay(SVZ.Visium, features = "Eomes",
sampleids = 2:4,
cols = c("light grey", "mistyrose", "darkred"),
pt.size = 3,
add.alpha = TRUE,
ncol = 3, show.sb = FALSE,
pt.alpha = 0.1,label.by = "labels")
G
Fig6G: Violin plots illustrating selected genes from representative GO terms over-represented in GLU cells at P12.
DefaultAssay(P12_Neurons)="RNA"
Idents(P12_Neurons)="GLUGABA_merge"
p1=VlnPlot(P12_Neurons, features = c("Id1"), idents=c("GLU_ident","GABA_ident"), cols=c("#133ea2","#b55b71"))+stat_compare_means(label = "p.signif", label.x = 1.5, ncol(1))+NoLegend()
p2=VlnPlot(P12_Neurons, features = c("Id2"), idents=c("GLU_ident","GABA_ident"), cols=c("#133ea2","#b55b71"))+stat_compare_means(label = "p.signif", label.x = 1.5, ncol(1))+NoLegend()
p3=VlnPlot(P12_Neurons, features = c("Zhx2"), idents=c("GLU_ident","GABA_ident"), cols=c("#133ea2","#b55b71"))+stat_compare_means(label = "p.signif", label.x = 1.5, ncol(1))+NoLegend()
p4=VlnPlot(P12_Neurons, features = c("Bmpr1a"), idents=c("GLU_ident","GABA_ident"), cols=c("#133ea2","#b55b71"))+stat_compare_means(label = "p.signif", label.x = 1.5, ncol(1))+NoLegend()
p5=VlnPlot(P12_Neurons, features = c("Ppp2r2b"), idents=c("GLU_ident","GABA_ident"), cols=c("#133ea2","#b55b71"))+stat_compare_means(label = "p.signif", label.x = 1.5, ncol(1))+NoLegend()
p6=VlnPlot(P12_Neurons, features = c("Btg2"), idents=c("GLU_ident","GABA_ident"), cols=c("#133ea2","#b55b71"))+stat_compare_means(label = "p.signif", label.x = 1.5, ncol(1))+NoLegend()
suppressWarnings(CombinePlots(plots = list(p1,p2,p3,p4,p5,p6),ncol=6)+NoLegend())
H
Fig6H: UMAP plot of GLU cells at P2, P12 and P22.
Lineage_GLU=readRDS("Lineage_GLU/Lineage_GLU.rds")
Idents(Lineage_GLU)="merge_clusters_to_use"
new_tp <- c("P12", "P12", "P2", "P2", "P2", "P22", "P22")
names(new_tp)<- levels(Lineage_GLU)
Lineage_GLU <- RenameIdents(Lineage_GLU, new_tp)
Lineage_GLU$new_tp = Lineage_GLU@active.ident
DimPlot(Lineage_GLU,cols = c("#A94E66","#dcccd2","#510f3c"),pt.size=2)+NoLegend()
I
Fig6I: Feature plot indicating expression of Mik67 and Dcx.
FeaturePlot(object = Lineage_GLU,
features = c("Dcx", "Mki67"),
cols = c("#dedede", "#d1353e", "#3a8354"),
blend = TRUE,
combine=T, pt.size = 2, blend.threshold = 0.4, order=T)
K
Fig6K: Dotplot illustration enrichment of representative transcripts enriched in GLU cells at early (P2) or late (P12/P22) timepoints.
new <- c("P12_P22","P2", "P12_P22")
names(new)<- levels(Lineage_GLU)
Lineage_GLU <- RenameIdents(Lineage_GLU, new)
Lineage_GLU$new = Lineage_GLU@active.ident
DefaultAssay(Lineage_GLU)="RNA"
suppressWarnings(DotPlot(Lineage_GLU, features = c("Tbr1","Neurod1","Neurod6","Neurod2","Dcx","Tubb3","Fbxw7","Jun","Notch1","Neurog2","Eomes","Cdkn1a","Mki67","Bmpr1a"),
dot.scale = 10,cols = c("#572F4A","#DDD2D7"))+theme_grey()+RotatedAxis()+ xlab("")+ ylab("")+
theme(axis.text.x = element_text(size=10, angle=45, hjust=1),
axis.text.y = element_text(size=12,face="bold"),
axis.title = element_text(size=14)))